package com.shopoo.oauth.api;

import com.shopoo.dto.MultiResponse;
import com.shopoo.dto.Response;
import com.shopoo.oauth.dto.clientobject.MenuCO;
import com.shopoo.oauth.dto.clientobject.MenuTreeDTO;
import com.shopoo.oauth.dto.cqe.MenuAddCmd;
import com.shopoo.oauth.dto.cqe.MenuQuery;
import com.shopoo.oauth.dto.cqe.MenuUpdateCmd;

/**
 * @Description 菜单服务
 * @Date 2020/10/29 4:48 下午
 * @Author <a href="mailto:android_li@sina.cn">Joe</a>
 **/
public interface MenuService {

    /**
     * 添加菜单
     * @param menuAddCmd
     * @Return com.shopoo.dto.Response
     * @Date: 2022/3/16 7:25 PM
     * @Author: <a href="mailto:android_li@sina.cn">MaoYuan.Li</a>
     */ 
    Response save(MenuAddCmd menuAddCmd);

    Response deleteByMenuId(Long menuId);

    /**
     * 修改菜单
     * @param menuUpdateCmd
     * @Return com.shopoo.dto.Response
     * @Date: 2022/3/16 5:42 PM
     * @Author: <a href="mailto:android_li@sina.cn">MaoYuan.Li</a>
     */ 
    Response update(MenuUpdateCmd menuUpdateCmd);
    /**
     * @Description: 根据条件查找菜单命令
     * @Author: limy66
     * @Date:   2021/5/12 14:25
     * @Param:  [menuQuery]
     * @Return: java.util.List<com.bngrp.system.dto.menu.MenuResp>
     */
    MultiResponse<MenuTreeDTO> findByConditions(MenuQuery menuQuery);


    MultiResponse<MenuCO> findMenusByUserId(String userId);
}
